var express = require('express');
const db = require('../db.js'); // 注意路径
var router = express.Router();

/* GET home page. */
router.get('/', function(req, res, next) {
    var sql = 'SELECT id, name, price, image, add_time FROM product ORDER BY add_time DESC LIMIT 0, 4';
    db.conn.query(sql, function(err, result) { // 修改为 db.query 或 db.conn.query
        if (err) {
            console.log('[SELECT ERROR] - ', err.message);
            return;
        }
        console.log(result);
        res.render('index.ejs', { products: result , title: '商品展示页'});
    });
}); // 添加缺失的闭合

// 商品列表路由
router.get('/product', function(req, res, next) {
    var cat_id = req.query.cat_id; // 获取地址栏参数 cat_id 的值

    if(cat_id) { // 地址栏带有 cat_id 参数，执行分类查询
        var sqlStr = "SELECT * FROM product WHERE cat_id = ? ORDER BY id DESC";
        var sqlParam = [cat_id];
    } else { // 地址栏没有参数，查询所有商品
        var sqlStr = "SELECT * FROM product ORDER BY id DESC";
        var sqlParam = [];
    }

    db.conn.query(sqlStr, sqlParam, function(err, result) { // 保持变量名大小写一致
        if(err) {
            console.log(err);
            return;
        }
        console.log(result);
        res.render('productList.ejs', { // 注意模板文件名大小写
            products: result 
        });
    });
}); // 添加缺失的闭合

// routes/index.js - 商品详情路由
router.get('/detail/:id', function(req, res, next) {
    var id = req.params.id; // 取地址栏参数
    var sqlStr = "select id, image, name, price, content from product where id=?";
    var sqlParam = [id];
    
    db.conn.query(sqlStr, sqlParam, function(err, result) {
        if(err) {
            console.log(err);
            return;
        }
        
        console.log(result); // [{}] 数组
        
        // 将查询结果传递给详情页模板
        res.render('detail.ejs', { 
            oneProduct: result // 取数组中的第一条结果
        });
    });
});

router.get('/page/:pid', function(req, res, next) {
    var pid = req.params.pid; // 取地址栏参数
    var sqlStr = "select id, page_name, content from page where id=?";
    var sqlParam = [pid];
    
    db.conn.query(sqlStr, sqlParam, function(err, result) {
        if(err) {
            console.log(err);
            return;
        }
        
        console.log(result);
        res.render('page.ejs', { 
            pageContent: result 
        });
    });
});

module.exports = router; // 确保最后导出router